(C) 1996 AROS - The Amiga Replacement OS


NAME
#include <utility/name.h>
#include <proto/utility.h>
void RemNamedObject()
SYNOPSIS
struct NamedObject * object
struct Message * message

LOCATION
In UtilityBase at offset 44
FUNCTION
Remove a NamedObject from a namespace.

If the NamedObject cannot be removed at the time of this call, then the call will return without removing the NamedObject. It will mark the NamedObject as "waiting for removal".

When the NamedObject is ready to be freed, the supplied message will be ReplyMsg()'d with the message->mn_Node.ln_Name field containing either: - the address of the NamedObject that was removed. In this case you can free the NamedObject yourself. - NULL. In this case, another Task has freed the NamedObject, and you should not do so.

INPUTS
object
The NamedObject to attempt to remove.
message
The message to send. This message is a standard Exec Message, which MUST have the mn_ReplyPort field correctly set. The mn_Node.ln_Name field will contain the address of the NamedObject or NULL upon arrival at your port.
RESULT
The NamedObject will be removed if possible, or marked for removal at the next best moment.

NOTES
Since this function effectively does a ReleaseNamedObject(), you must have found this object first.

EXAMPLE
BUGS
SEE ALSO
AttemptRemNamedObject(), AddNamedObject()
INTERNALS
AttemptRemNamedObject() calls this function with a NULL message, expecting that we remove the object if possible, or just return.

ReleaseNamedObject() also calls this with a NULL message.

HISTORY
09.02.1997 iaint
Fixed some nasty bugs in NamedObjects
27.01.1997 digulla
Added #include <proto/exec.h>
27.01.1997 ldp
Polish
18.12.1996 iaint
NamedObjects